<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        function Person(name,age) {
            this.name = name;
            this.age = age;
            this.sayHi = function () {
                console.log('hello');
            }
        }
        Person.prototype.sayhua = function (lanu) {
            console.log(lanu);
        }
        var yq = new Person('于谦',39);
        var sy = new Person('孙悦',20);
        console.dir(yq);//实例对象
        console.dir(sy);//实例对象
        console.dir(Person)//构造函数
        console.log(yq.__proto__ == Person.prototype);
        // 原型：
        // 1.实例对象中有一个属性： __proto__ 叫原型 也是一个对象
        // 2.构造函数中有一个属性： prototype 叫原型 也是一个对象
        // 原型也叫原型对象
        // 实例对象的__proto__和构造函数中的prototype相等
        // 又因为实例对象是通过构造函数来创建的，构造函数中有原型对象有prototype
        // 实例对象的__proto__指向了构造函数的原型对象的prototype
    </script>
</body>
</html>